28 research outputs found

    Simulando o paralelismo quântico em CPU e GPU utilizando a biblioteca LibQuantum

    Get PDF
    Apesar de todos os avanços computacionais da última década, ainda existem problemas clássicos que são impossíveis de resolver de forma eficiente em computadores normais. Pesquisadores acreditam que, através de um computador quântico, alguns desses problemas poderiam ser resolvidos em algumas horas ou mesmo em alguns minutos. Entretanto, devido a indisponibilidade de computadores quânticos, diversos simuladores têm sido propostos. Neste artigo, é discutida a biblioteca LibQuantum como uma maneira de simular o paralelismo quântico através do uso de processadores multi-core e GPGPUs

    Formal Semantics for Java-like Languages and Research Opportunities

    Get PDF
    The objective of this paper is twofold: first, we discuss the state of art on Java-like semantics, focusing on those that provide formal specification using operational semantics (big-step or small-step), studying in detail the most cited projects and presenting some derivative works that extend the originals aggregating useful features. Also, we filter our research for those that provide some insights in type-safety proofs. Furthermore, we provide a comparison between the most used projects in order to show which functionalities are covered in such projects. Second, our effort is focused towards the research opportunities in this area, showing some important works that can be applied to the previously presented projects to study features of object-oriented languages, and pointing for some possibilities to explore in future researches

    Desenvolvimento de um Gerador de Programas Aleatórios em Java

    Get PDF
    With great advances in the computer science area where technologicalsystems are becoming more and more complex, tests are hardto perform. The problem is even more serious in critical systems,such as flight control or nuclear systems, where an error can causecatastrophic damage in our society. Currently, two techniques areoften used for software validation: testing and software verification.This project aims the testing area, generating random programs tobe used as input to property-based tests, in order to detect errorsin systems and libraries, minimizing the possibility of errors. Morespecifically, Java programs will be automatically generated from existentclasses and interfaces, considering all syntactic and semanticconstraints of the language

    Formal semantics for java-like languages and research opportunities.

    Get PDF
    Currently, Java is one of the most used programming languages, being adopted in many large projects, where applications reach a level of complexity for which manual testing and human inspection are not enough to guarantee quality in software development. Because of that, there is a growing research field that concerns the formalization of small subsets of Java-like languages aimed to conduct studies that were impossible to achieve through informal approaches. In this context, the objective of this paper is twofold: the discussion of the state-of-the-art on Java-like semantics and the presentation of research opportunities in this area. For the first goal, we present a research about Java-like formal semantics, filtering those that provide some insights in type-safety proofs, choosing the four most cited projects to be presented in details. We also briefly present some related studies that extended the originals aggregating useful features. Additionally, we provide a comparison between the most cited projects in order to show which functionalities are covered by each one of them. As for the second goal, we discuss possible future studies that can be performed by using the presented formal semantics.Atualmente Java ?e uma das linguagens de programac? ?ao mais utilizadas, sendo adotada em muitos projetos de grande escala, onde aplicac? ?oes alcanc?am um n??vel de complexidade no qual testes e inspec? ?oes manuais n?ao s?ao suficientes para garantir qualidade no desenvolvimento de software. Por conta disso, existe um crescente campo de pesquisa que diz respeito a formalizac? ?ao de pequenos fragmentos de linguagens similares ao Java, almejando a conduc? ?ao de estudos os quais eram imposs??veis de realizar atrav?es de abordagens informais. Neste contexto, este artigo tem dois objetivos: a discuss?ao do estado da arte sobre sem?anticas similares ao Java e a apresentac? ?ao de oportunidades de pequisa nesta ?area. Para o primeiro objetivo, ?e proposta uma pequisa sobre sem?anticas formais da linguagem Java, filtrando aquelas que prov?eem provas de seguranc?a de tipos, escolhendo os quatro projetos mais citados para serem apresentados em detalhes. Tamb?em s?ao apresentados brevemente alguns estudos derivados que estendem os originais agregando funcionalidades. Adicionalmente, ?e apresentada uma comparac? ?ao entre os projetos mais citados como forma de demonstrar quais funcionalidades s?ao cobertas por cada um deles. Como segundo objetivo s?ao discutidos poss??veis trabalhos futuros que podem ser realizados atrav?es do uso das sem? anticas formais apresentadas

    Pervasive gaps in Amazonian ecological research

    Get PDF
    Biodiversity loss is one of the main challenges of our time,1,2 and attempts to address it require a clear un derstanding of how ecological communities respond to environmental change across time and space.3,4 While the increasing availability of global databases on ecological communities has advanced our knowledge of biodiversity sensitivity to environmental changes,5–7 vast areas of the tropics remain understudied.8–11 In the American tropics, Amazonia stands out as the world’s most diverse rainforest and the primary source of Neotropical biodiversity,12 but it remains among the least known forests in America and is often underrepre sented in biodiversity databases.13–15 To worsen this situation, human-induced modifications16,17 may elim inate pieces of the Amazon’s biodiversity puzzle before we can use them to understand how ecological com munities are responding. To increase generalization and applicability of biodiversity knowledge,18,19 it is thus crucial to reduce biases in ecological research, particularly in regions projected to face the most pronounced environmental changes. We integrate ecological community metadata of 7,694 sampling sites for multiple or ganism groups in a machine learning model framework to map the research probability across the Brazilian Amazonia, while identifying the region’s vulnerability to environmental change. 15%–18% of the most ne glected areas in ecological research are expected to experience severe climate or land use changes by 2050. This means that unless we take immediate action, we will not be able to establish their current status, much less monitor how it is changing and what is being lostinfo:eu-repo/semantics/publishedVersio

    A“Dirty” Footprint: Macroinvertebrate diversity in Amazonian Anthropic Soils

    Get PDF
    International audienceAmazonian rainforests, once thought to be pristine wilderness, are increasingly known to have been widely inhabited, modified, and managed prior to European arrival, by human populations with diverse cultural backgrounds. Amazonian Dark Earths (ADEs) are fertile soils found throughout the Amazon Basin, created by pre-Columbian societies with sedentary habits. Much is known about the chemistry of these soils, yet their zoology has been neglected. Hence, we characterized soil fertility, macroinvertebrate communities, and their activity at nine archeological sites in three Amazonian regions in ADEs and adjacent reference soils under native forest (young and old) and agricultural systems. We found 673 morphospecies and, despite similar richness in ADEs (385 spp.) and reference soils (399 spp.), we identified a tenacious pre-Columbian footprint, with 49% of morphospecies found exclusively in ADEs. Termite and total macroinvertebrate abundance were higher in reference soils, while soil fertility and macroinvertebrate activity were higher in the ADEs, and associated with larger earthworm quantities and biomass. We show that ADE habitats have a unique pool of species, but that modern land use of ADEs decreases their populations, diversity, and contributions to soil functioning. These findings support the idea that humans created and sustained high-fertility ecosystems that persist today, altering biodiversity patterns in Amazonia

    Pervasive gaps in Amazonian ecological research

    Get PDF

    Pervasive gaps in Amazonian ecological research

    Get PDF
    Biodiversity loss is one of the main challenges of our time,1,2 and attempts to address it require a clear understanding of how ecological communities respond to environmental change across time and space.3,4 While the increasing availability of global databases on ecological communities has advanced our knowledge of biodiversity sensitivity to environmental changes,5,6,7 vast areas of the tropics remain understudied.8,9,10,11 In the American tropics, Amazonia stands out as the world's most diverse rainforest and the primary source of Neotropical biodiversity,12 but it remains among the least known forests in America and is often underrepresented in biodiversity databases.13,14,15 To worsen this situation, human-induced modifications16,17 may eliminate pieces of the Amazon's biodiversity puzzle before we can use them to understand how ecological communities are responding. To increase generalization and applicability of biodiversity knowledge,18,19 it is thus crucial to reduce biases in ecological research, particularly in regions projected to face the most pronounced environmental changes. We integrate ecological community metadata of 7,694 sampling sites for multiple organism groups in a machine learning model framework to map the research probability across the Brazilian Amazonia, while identifying the region's vulnerability to environmental change. 15%–18% of the most neglected areas in ecological research are expected to experience severe climate or land use changes by 2050. This means that unless we take immediate action, we will not be able to establish their current status, much less monitor how it is changing and what is being lost

    Estratégias para teste e formalização de propriedades de linguagens de programação

    No full text
    O mundo atual está repleto de dispositivos e máquinas controladas por software, os quais dependem de linguagens de programação e compiladores para serem produzidos e executados. A importância do desenvolvimento de software correto vai além de computadores pessoais e aplicativos de smartphones. Um erro em um sistema crítico, como em uma usina nuclear ou em um controlador de aviação, pode causar danos catastróficos em nossa sociedade. Hoje em dia, essencialmente duas técnicas de validação de software são utilizadas para evitar tais problemas: teste e verificação de software. Nesta tese, são combinadas ambas as técnicas de validação na área pesquisa de linguagens de programação, aplicando testes baseados em propriedades inicialmente para melhorar especificações e depurar programas, antes de uma tentativa de verificação formal. Por usar esta abordagem de testes, é possível eliminar falsas conjecturas rapidamente e usar os contra-exemplos gerados para corrigí-las. Então, tendo confiança de que a especificação está correta, é possível ir além, formalizando a especificação e provando propriedades em um provador de teoremas interativo, o qual usa um aparato matemático para garantir que estas propriedades são válidas para uma dada especificação. Aplicou-se diferentes estratégias para testar e formalizar duas linguagens de programação, o Cálculo Lambda, e o cálculo orientado a objetos Featherweight Java. A primeira parte desta tese define um procedimento direcionado por tipos para gerar programas aleatórios para cada linguagem de modo a aplicar testes baseados em propriedades para verificar propriedades de segurança, usando Haskell e a biblioteca QuickCheck. E, na segunda parte, foram aplicadas duas abordagens, extrínseca e intrínseca, para formalizar e provar segurança de tipos para ambas as linguagens de programação estudadas, usando a linguagem de tipos dependentes Agda, comparando as sutilezas de cada técnica. Além disso, foi demonstrado que as formalizações apresentadas podem ser estendidas para novas construções de linguagens, a partir da especificação e provas das mesmas propriedades para construções do Java 8. Acredita-se que esta combinação de testes baseados em propriedades com verificação formal pode melhorar a qualidade de software em geral e aumentar a produtividade durante o desenvolvimento de provas formais.Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - CAPESToday’s world is full of devices and machines controlled by software, which depend upon programming languages and compilers to be produced and executed. The importance of correct software development goes beyond personal computers and smartphone apps. An error in a critical system, such as on a nuclear power plant or on an airplane controller, can cause catastrophic damage in our society. Nowadays, essentially two software validation techniques are used to avoid such problems: software testing and software verification. In this thesis we combine both validation techniques in the programming languages research area, applying property-based testing first to improve specifications and debugging programs, before an attempt of formal verification. By using such testing approach we can quickly eliminate false conjectures, by using the generated counterexamples, which help to correct them. Then, having confidence that the specification is correct, one can give a step forward and formalize the specification and prove its properties in an interactive theorem prover, which uses a mathematical framework to guarantee that these properties hold for a given specification. We apply different strategies to test and formalize two major programming languages, the functional Lambda Calculus, and the modern object-oriented calculus Featherweight Java. The first branch of this thesis defines a type-directed procedure to generate random programs for each calculus in order to apply property-based testing to check soundness properties on them, using the Haskell library QuickCheck. And in the second branch, we apply the two most used approaches, extrinsic and intrinsic, to formalize and prove type safety for both studied programming languages using the dependently-typed programming language Agda, comparing the subtleties of each technique. Furthermore, we show that our formalizations can be extended to new language constructions, by specifying and proving the same properties for Java 8 constructions. We believe that this combination of property-based testing with formal verification can improve the quality of software in general and increase productivity during formal proof development
    corecore